I. Field of the Invention
The present invention relates generally to computer networks. More particularly, this invention relates to a high-availability network computer system.
II. Background and Material Information
Computer systems that include a plurality of nodes (e.g., servers) connected with each other via a network have developed into high-availability computer systems. In those high-availability computer systems, when a failure occurs in a server, another server takes over the failed server to provide the service requested by a client computer (xe2x80x9cclientxe2x80x9d). Thus those systems keep their availability. Those systems may be classified into two types:
(1) systems that include adjacently located servers, and
(2) systems that includes servers that are remotely located, for example two servers each located in a different city, and that establish a backup link in case of disasters such as an earthquake or fire.
In the first type of systems, each server in a system is usually connected to the same local area network (LAN), and each is given an internet protocol address (IP address) having the same data in its network address section. An IP address includes a network address section and a host address section. In the second type of systems, each server in a system is usually connected to different LANs which are in turn connected to a wide area network (WAN) such as a communication line for public use. Also, each server is given an IP address having different data in its network section.
A high-availability computer system is highly desirable so that service can be continually provided to clients even in the event that one server replaces another to provide the same service to a client. That is, in the systems that include adjacently located servers either a mechanism which switches IP addresses, or an application program stored in a client computer which switches a server from a set of servers in order to establish a connection with a client is needed to provide continuous service to clients. In the system that includes servers that are remotely located, the application program is needed.
In view of the foregoing, the present invention solves the problems in the art related to the modification of application programs in a client""s computer by providing systems and methods for switching servers in a network computer system.
In accordance with an aspect of the present invention, as embodied and broadly described, the present invention is directed to a method for switching servers in a network computer system. The system includes a client, a plurality of servers, and a gateway. Each server has both at least one actual address and a common imaginary address. The method includes the following steps: transmitting a first packet addressed to the imaginary address, the packet including a network trailer; extracting the network trailer from the first packet; generating a second packet that includes the network trailer; assigning one of the actual addresses to the second packet; transmitting the second packet to a server having the actual address; and extracting the network trailer from the second packet.
Also in accordance with another aspect of the present invention, there is provided a network computer system. The network computer system includes a plurality of servers, a client, and a gateway. Each server has at least one corresponding actual addresses and an imaginary address in common. The client transmits a first packet addressed to an imaginary address which contains a network trailer. The gateway extracts the network trailer from the first packet, generates a second packet which includes the network trailer, assigns one of the actual addresses to the second packet, and transmits the second packet to a server having the actual address. The server extracts the network trailer from the second packet.